package listener;

import java.awt.*;

/***
 * Author: Mr.Zhao, Time: 2018/5/6/17:08
 * Description: 监听服务器发来的消息
 */
public interface MessageListener {
    String REMOTE_IP = "120.79.160.190";
    //本地服务端口
    //String REMOTE_IP = "127.0.0.1";
    int REMOTE_PORT = 12245;

    String HEARTBEAT = "I'm on line";

    /**
     * 列出当前在线玩家的事件
     *
     * @param msg 收到的玩家信息
     */
    void listPlayers(String msg);

    /**
     * 收到玩家邀请
     *
     * @param msg 收到的邀请玩家信息
     */
    void receiveInvitation(String msg);

    /**
     * 对方接受了游戏邀请
     *
     * @param myColor 我方棋子颜色
     */
    void gameStart(Color myColor);

    /**
     * 对方拒绝了游戏邀请
     */
    void refusedInvitation();


    /**
     * 对手走棋的路径
     *
     * @param x1 走棋前x坐标
     * @param y1 走棋前y坐标
     * @param x2 走棋后x坐标
     * @param y2 走棋后y坐标
     */
    void opponentMoved(int x1, int y1, int x2, int y2);


    /**
     * 收到聊天信息
     *
     * @param time    发送的时间
     * @param content 消息内容
     */
    void receivedChatMsg(String time, String content);

    /**
     * 对手离线
     */
    void opponentOffline();

    /**
     * 收到服务器返回的当前客户端信息
     *
     * @param myInfo
     */
    void myInfo(String myInfo);
}
